An echo canceller, a noise canceller, a howling canceller and an adaptive equalizer are known as application examples of an adaptive filter for identifying an unidentified system. Here, using the echo canceller for removing an echo leaking from a speaker to a microphone during hands-free communication as an example, techniques related to the system identification device and the system identification method will be described.
FIG. 12 is a diagram showing a configuration of the echo canceller. A voice from a far-end is inputted to a terminal 5 and is reproduced by a speaker 1. The reproduced far-end voice leaks into a microphone 2 as an echo via an echo path such as a space. A near-end voice in addition to the echo is supplied to the microphone 2.
The echo canceller 3 operates to suppress the echo of the voice leaking into the microphone 2 through an amplifier, the speaker 1 and the like, by generating a pseudo echo (echo replica) corresponding a transmission signal by using an adaptive filter for performing system identification of an impulse response length of the echo path. At this time, each filter factor of the adaptive filter is modified and estimated, by correlating an error signal, which is obtained by subtracting the echo replica from a signal having both of the echo and a reception signal, with the transmission signal. The near-end voice with suppressed echo is obtained by the error signal and is sent from a terminal a to the far end. As representative filter factor modification algorithm/adaptive, algorithm in the adaptive filter, an LMS algorithm, a learning identification method, an RLS algorithm and an affine projection algorithm are known.
However, in fact, since an observation noise such as voice and noise at the near end in addition to the echo are mixed in the microphone 2, an error occurs in modification and estimation of each filter factor of the adaptive filter. This error in the filter factor causes deterioration of an echo suppression performance.
Thus, Japanese Patent No. 3187716, (document 1) proposes a system identification method for reducing the error in modification and estimation of the filter factor of an adaptive filter.
Referring to FIG. 13, a technique described in document 1, (hereinafter referred to as a first related technique) includes two filters of an adaptive filter 20 and a dependent filter 40, a filter factor copy control part 31 for copying a filter factor of the adaptive filter 20 to the dependent filter 40, a subtracter 50 for subtracting an output of the adaptive filter 20 from a desired signal applied to a terminal 12, an output error average calculation part 80 for calculating a time average value of an output of the subtracter 50, a subtracter 60 for subtracting an output of the dependent filter 40 from the desired signal applied to a terminal 12, an output error average calculation part 81 for calculating a time average value of an output of the subtracter 60 and a comparator 82 for comparing the outputs of the two output error average calculation parts 81 and outputting a comparison result to the adaptive filter 20 and the filter factor copy control part 31, and a step size of the adaptive filter 20 and propriety of copying by the filter factor copy control part 31 are controlled based on the comparison result of the comparator 82. Specific operations are as follows.
A far-end signal inputted from a terminal 10 is sent to the adaptive filter 20 and the dependent filter 40. The adaptive filter 20 performs convolution of the far-end signal received from the terminal 10 and a tap factor of the filter and sends a convolution result to the subtracter 50. A group of filter factors is sent to the filter factor copy control part 31. The group of filter factors is modified and updated by an internal adaptive algorithm on basis of an output error outputted from the subtracter 50 and the comparison result of the comparator 82.
The filter factor copy control part 31 receives the group of filter factors from the adaptive filter 20 and the comparison result from the comparator 82, determines whether or not the group of filter factors is copied on the basis of the comparison result, and sends the group of filter factors to the dependent filter 40 when the group of filter factors is determined to be copied.
The dependent filter 40 performs convolution of an input signal received from the terminal 10 into the group of filter factors received from the filter factor copy control part 31 and sends a convolution result to the subtracter 60.
The subtracter 50 subtracts an output signal from the adaptive filter 20 from the desired signal received from the terminal 12 (the signal from the microphone 2 in FIG. 12) and sends a subtraction result to the adaptive filter 20 and the output error average calculation part 80 as an output error signal. The subtracter 60 subtracts an output signal from the dependent filter 40 from the desired signal received from the terminal 12 and sends a subtraction result to an output terminal 14 and the output error average calculation part 81 as an output error signal.
The output error average calculation part 80 calculates an indicator representing magnitude of the error, such as electric power and time average in absolute value of the inputted output error (electric power in patent document 1) and sends the indicator to the comparator 82, The output error average calculation part 81 performs the similar operations to those of the output error average calculation part 80.
The comparator 82 receives the indicators representing magnitude of the error from the output error average calculation part 80 and the output error average calculation part 81, determines which indicator is large and sends a determination result to the adaptive filter 20 and the filter factor copy control part 31.
The filter factor copy control part 31 receives the determination result from the comparator 82, determines that the adaptive filter 20 is converging when an output value of the output error average calculation part 80 is smaller than that of the output error average calculation part 81, and copies the filter factor of the adaptive filter 20 to the dependent filter 40. The reason is that, when the output value of the output error average calculation part 80 (that is, an output error average of the adaptive filter 20) is smaller than the output value of the output error average calculation part 81 (that is, an output error average of the dependent filter 40), the filter factor of the adaptive filter 20 is more accurate than the filter factor of the dependent filter 40. Conversely, when the output value of the output error average calculation part 80 is not smaller than that of the output error average calculation part 81, copying is not performed so that the filter factor of the dependent filter 40 with the smaller output error average may not be updated with the filter factor of the adaptive filter 20 with the larger output error average.
The adaptive filter 20 receives the determination result from the comparator 82, increases a step size to increase a conversion speed when the output value of the output error average calculation part 80 is smaller than that of the output error average calculation part 81, and decreases the step size in the other case.
The system described in patent document 1 performs system identification with higher accuracy by using the two filters of the adaptive filter 20 and the dependent filter 40 which uses the filter factor copied from the filter factor of the adaptive filter 20 and appropriately updating the filter factor of the dependent filter 40.
Here, since the adaptive filter 20, the filter factor copy control part 31 and the dependent filter 40 are elements also used in exemplary embodiments of the present invention, configuration examples thereof will be described in detail.
FIG. 14 is a diagram showing the configuration example of the adaptive filter 20. The adaptive filter 20 is broadly configured of a convolution calculation part and an adaptive algorithm part. Here, a case where an M tap FIR filter is used as the filter in the convolution calculation part and the learning identification is used as the adaptive algorithm is shown. An input signal from the terminal 10 in FIG. 13 is inputted through a terminal 201, inverted into a delay signal group with tap by a delayer, generator group 210m, (m=1, 2,, . . . , M), and also sent to a power inverse calculation part 221. The delay signal group generated by the delay generator group 210m, is sent to a multiplier group 206m, and multiplied by the respective filter factors in the group of filter factors modified by the adaptive algorithm, and the sum is calculated by an adder group 211m, outputted from a terminal 299 and sent to the subtracter 50 in FIG. 13.
The power inverse calculation part 221 calculates a value obtained by multiplying the power of the input signal by a tap number M or square norm in a case where the delay signal group is interpreted as a vector, and outputs a result obtained by calculating an inverse of the value to a multiplier 223 as an output. The comparison result of the comparator 82 which is inputted through a terminal 202 is converted into the step size by a step size calculation part 222 and multiplied by an output result of the power inverse calculation part 221 by the multiplier 223, and its result is sent to a multiplier 224. The multiplier 224 multiplies the output error from a terminal 203 (which is supplied from the subtracter 50 in FIG. 13) by the output result of the multiplier 223 and sends a result value to a multiplier group 209m. The multiplier group 209m receives respective delay signals from the delay generator group 210m, multiplies the delay signals by the value supplied from the multiplier 224, and sends obtained values to respective adders in an adder group 208m. The adder group 208m, receives signals from respective delay generators in a delay generator group 207m, and signals from respective multipliers in the multiplier group 209m, and calculates and sends the sum of signals to respective delay generator groups in the delay generator group 207m. The delay generator group 207m, receives signals from the respective adders in the adder group 208m, sends signals delayed by 1 sample to the respective adders in the adder group 208m, as well as sends the signals as the group of filter factors to the multiplier group 206m, for convolution. The group of filter factors is sent to the filter factor copy control part 31 in FIG. 13 through a terminal group 205m. 
Next, a configuration of the filter factor copy control part 31 in FIG. 13 will be described in detail.
FIG. 15 is a diagram showing the configuration example of the filter factor copy control part 31. The filter factor copy control part 31 receives the group of filter factors supplied from the adaptive filter 20 in FIG. 13 through a terminal group 310m, and sends the factors to respective switches in a switch group 313m. The determination result of the comparator 82 in FIG. 13 is supplied to the switch group 313m, through a terminal 312, The switch group 313m, receives the respective group of filter factors from the terminal group 310m, and the group of filter factors in the previous sample from a delay generator group 315m, and sends either of the groups of filter factors as a new group of filter factors to the dependent filter 40 in FIG. 13 through the delay generator group 315m, and a terminal group 319m, on the basis of a comparison result sent through the terminal 312. When the comparison result shows that the adaptive filter 20 is converging, the group of filter factors supplied from the terminal group 310m, is selected as the new filter factor. This means that the filter factor of the adaptive filter 20 is copied as the filter factor of the dependent filter 40. On the other hand, when the comparison result shows that the adaptive filter 20 has converged and the observation noise becomes dominant, the group of filter factors in the previous sample is selected. This means that the filter factor of the dependent filter 40 is not changed and the filter factor in the previous or earlier sample is used.
A configuration of the dependent filter 40 in FIG. 13 will be described. FIG. 16 is a diagram showing the configuration example, of the dependent filter 40. This configuration is the same as that of the convolution calculation part constituting the adaptive filter 20 described referring to FIG. 14. The input signal in FIG. 13 is inputted through a terminal 410, converted into the delay signal group by a delay generator group 415m, and convoluted with the group of filter factors supplied from the filter factor copy control part 31 through a terminal group 411m, a multiplier group 413m, and an adder group 414m, and a convolution result is outputted from a terminal 419.
In the above-mentioned configuration according to the first related technique, when the adaptive filter 20 is converging, the output error of the adaptive filter 20 (that is, the output result of the subtracter 50) is smaller than that of the dependent filter 40 (that is, the output result of the subtracter 60) using the filter factor in the previous or earlier sample, in the output error average. On the other hand, when the adaptive filter 20 has sufficiently converged and the observation noise becomes dominant, the output error of the adaptive filter 20 (that is, the output result of the subtracter 50) is larger than that of the output error of the dependent filter 40 (that is, the output result of the subtracter 60) using the filter factor in the previous or earlier sample, in the output error average. Therefore, the convergence state can be determined based on the determination result of the comparator 82.
By controlling the filter factor copy control part 31 based on the determination result of the convergence state, if the filter factor of the adaptive filter 20 is worse than that of the dependent filter 40, the filter factor of the adaptive filter 20 is hard to be used as the filter factor of the dependent filter 40. Conversely speaking, a desirable filter factor is used Further, for example, by controlling the step size of the adaptive algorithm in the adaptive filter 20 on the basis of the determination result of the convergence state, more desirable control can be performed in the adaptive filter 20. Specifically, according to the desirable control, the possibility that the accuracy of the system identification is wrongly lowered is small. As described above, in the first related technique, more desirable control of the adaptive filter 20 can be achieved, resulting in that system identification with high accuracy can be performed by using the dependent filter 40.
“Variable Step Algorithm Based on Slave Filter Having Averaging Factor”, a spring conference by The Institute of Electronics, Information and Communication Engineers, 1994, Speech Collection, p 1-172 (hereinafter referred to as second related technique) proposes a method of comparing output error averages of a plurality of filters at the same time and controlling the adaptive filter, though its configuration is different from that in the first related technique.
FIG. 17 shows a configuration of the second related, technique. The second related technique is different from the first related technique shown in FIG. 13 in that the filter factor copy control part 31 is replaced by a filter factor smoothing part 32 and that the comparison determination result of the comparator 82 is supplied to only the adaptive filter 20. The filter factor smoothing part 32 calculates a value as the filter factor of the dependent filter, by smoothing the group of filter factors received from the adaptive filter 20 in a time direction, that is, time average.
FIG. 18 shows a configuration example of the filter factor smoothing part 32. Here, an example of the case where each filter factor of the adaptive filter 20 is formed by a primary IIR-type low-pass filter (LPF). The group of filter factors of the adaptive filter 20 is supplied through a terminal group 320m, and sent to a corresponding subtracter 321m. The subtracter 321m, subtracts the filter factor in the current sample supplied from a delay generator 325m from the filter factor received through the terminal 320m, and sends the value to a multiplier 323m. The multiplier 323m, multiplies the value received from the subtracter 321m, by a smoothing factor received from a smoothing factor decision part 322 and sends the obtained value to an adder 324m. The adder 324m receives the filter factors in the previous sample supplied from the multiplier 323m, and the delay generator 325m, calculates a sum of the factors and sends the sum to the delay generator 325m, as the filter factor in the next sample. The delay generator 325m, receives the filter factor in the next sample received from the adder 324m, and supplies a value obtained by delaying by one sample as the filter factor in the current sample to the dependent filter 40 through a terminal 329m, as well as to the subtracter 321m, and the adder 324m. A part from the subtracter 321m, to the delay generator 325m constitutes a low-pass filter. A time constant of the low-pass filter, that is, the extent of smoothing, is decided by the smoothing factor decision part 322.
The filter factor of the dependent filter 40 behaves to delay compared to the filter factor of the adaptive filter 20m, with a group delay of the low-pass filter. Furthermore, although the filter factor of the adaptive filter 20 is disturbed by the observation noise, disturbance in the filter factor of the dependent filter 40 obtained through smoothing is small. How this effect is exhibited when the output error averages are compared with each other by the comparator 82 will be described.
When the adaptive filter 20 is converging, the filter factor of the adaptive filter 20 is modified so as to be more desirable, that is, decrease its output error average, while the output error average of the filter factor of the dependent filter 40 becomes larger than that of the filter factor of the adaptive filter 20 due to the delayed behavior. On the other hand, when the adaptive filter 20 has almost converged and the observation noise becomes dominant in the output error, the filter factor of the adaptive filter 20 is disturbed by the observation noise, while disturbance of the filter factor of the dependent filter 40 is smaller due to smoothing. As a result, the output error average of the adaptive filter 20 (the output of the output error average calculation part 80) becomes smaller than the output error average of the dependent filter 40 (the output of the output error average calculation part 81). The convergence state of the adaptive filter 20 can be determined based on this. By controlling the step size of the adaptive filter 20 on the basis of the determination result of the convergence state, the output error of the adaptive filter 20 can be further decreased. Specifically, by increasing the step size to increase the conversion speed when the adaptive filter 20 is converging, and decreasing the step size when the adaptive filter 20 has converged, an effect of the observation noise can be relieved.
As a result, system identification with high accuracy can be achieved in the adaptive filter 20 or the dependent filter 40 in the second related technique.
FIG. 19 shows a generalized example of the above-mentioned first related technique and the second related technique. In FIG. 19, the filter factor copy part 31 in FIG. 13 and the filter factor smoothing part 32 in FIG. 17 are generalized as a dependent filter factor update part 30. By controlling either or both of the step size of the adaptive filter 20 and the dependent filter factor update part 30 on the basis of the result of comparison between the output error average of the adaptive filter 20 and the output error average of the dependent filter 40 (the output of the comparator 82), a signal with reduced output error is obtained through the output terminal 14.
However, when a very large observation noise mixes into the terminal 12, especially when the observation noise includes many low-frequency components such as DC components or when the observation noise is a narrow band signal (for example, a period signal), a false operation that the filter factor of the dependent filter 20 is wrongly updated may occur due to an effect of strong autocorrelation of the observation noise. The reason is as follows. In FIG. 19, when a large observation noise mixes into the terminal 12, first, the output errors of the subtracter 50 and the subtracter 60 tend to increase. However, the adaptive filter 20 updates the filter factor so as to decrease the increased output error, resulting in a decrease in the output error of the subtracter 50, and meanwhile, since updating of the filter factor of the dependent filter 40 is delayed, the output error of the subtracter 60 does not decrease like the output error of the subtracter 50. Thus, the output error average of the adaptive filter 20 becomes smaller than that of the dependent filter 40. For this reason, the step size of the adaptive filter 20 increases and the dependent filter factor update part 30 updates the filter factor of the dependent filter 40 so as to get close to the filter factor of the adaptive filter 20.
When the filter factor of the adaptive filter 20 is modified in the undesirable direction in which the adaptive filter 20 is greatly disturbed by the observation noise due to wrong control of the step size of the adaptive filter 20 and the dependent filter factor update part 30, the accuracy of system identification in the error path is lowered, resulting in that echo in the output signal obtained through the output terminal 14 is not sufficiently removed.
When the observation noise components mixing into the terminal 12 are removed by use of a low-frequency cutoff filter or a band cutoff filter in order to relieve the bad effect of the observation noise, a part of the desired signal supplied through the terminal 12 is simultaneously removed and therefore, system identification of the echo path itself becomes difficult.